/**
 * 测试获取公司基本信息功能
 */

// 模拟公司服务
const mockCompanyService = {
  getMyCompanyInfo: async () => {
    // 模拟API响应
    return {
      success: true,
      data: {
        id: 1,
        name: '测试公司',
        master_name: '张三',
        master_phone: '138****8888',
        address: '北京市朝阳区xxx街道xxx号',
        person_total: 50,
        remark: '这是一家测试公司',
        created_at: 1640995200,
        updated_at: 1640995200
      },
      message: '获取公司信息成功'
    }
  }
}

// 测试获取公司信息
async function testGetCompanyInfo() {
  console.log('开始测试获取公司基本信息...')
  
  try {
    const result = await mockCompanyService.getMyCompanyInfo()
    
    if (result.success) {
      console.log('✅ 获取公司信息成功')
      console.log('公司信息:', result.data)
      
      // 验证必要字段
      const requiredFields = ['id', 'name']
      const missingFields = requiredFields.filter(field => !result.data[field])
      
      if (missingFields.length === 0) {
        console.log('✅ 公司信息字段完整')
      } else {
        console.log('❌ 缺少必要字段:', missingFields)
      }
      
      // 显示公司信息详情
      console.log('\n📋 公司基本信息:')
      console.log(`公司名称: ${result.data.name}`)
      console.log(`负责人: ${result.data.master_name || '未设置'}`)
      console.log(`联系电话: ${result.data.master_phone || '未设置'}`)
      console.log(`公司地址: ${result.data.address || '未设置'}`)
      console.log(`员工数量: ${result.data.person_total || 0}人`)
      console.log(`备注: ${result.data.remark || '无'}`)
      
    } else {
      console.log('❌ 获取公司信息失败:', result.message)
    }
    
  } catch (error) {
    console.log('❌ 测试过程中发生错误:', error.message)
  }
}

// 测试错误情况
async function testErrorCase() {
  console.log('\n开始测试错误情况...')
  
  const errorService = {
    getMyCompanyInfo: async () => {
      return {
        success: false,
        message: '您不是公司管理员'
      }
    }
  }
  
  try {
    const result = await errorService.getMyCompanyInfo()
    
    if (!result.success) {
      console.log('✅ 错误处理正常:', result.message)
    } else {
      console.log('❌ 错误处理异常')
    }
    
  } catch (error) {
    console.log('❌ 错误测试失败:', error.message)
  }
}

// 运行测试
async function runTests() {
  console.log('🚀 开始测试公司基本信息功能\n')
  
  await testGetCompanyInfo()
  await testErrorCase()
  
  console.log('\n✨ 测试完成')
}

// 如果直接运行此文件，则执行测试
if (typeof module !== 'undefined' && module.exports) {
  module.exports = { runTests }
} else {
  runTests()
} 